package com.sun.redis.config.annotation;


import com.sun.redis.config.constant.RedisLockConstants;

import java.lang.annotation.*;

/**
 * <分布式redis锁>
 *
 * @author 施瑞
 * @date 2021/6/3
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DistributedRedisLock {
    /**
     * 公共前缀
     *
     * @return
     */
    String publicPrefix() default "";

    /**
     * redis锁的key前缀
     *
     * @return
     */
    String lockKeyPrefix() default "";

    /**
     * redis锁的key后缀
     *
     * @return
     */
    String lockKeySuffix() default "";

    /**
     * 表示获取锁时愿意等待的时长，秒为单位
     *
     * @return
     */
    int waitTime() default RedisLockConstants.WAIT_TIME;
}
